// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); 1win Casino and Sportsbook Your Ultimate Gaming Destination in India – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

1win Casino and Sportsbook Your Ultimate Gaming Destination in India

In the ever-evolving world of online gaming and betting, 1win has emerged as a leading platform for Indian users. Offering a seamless experience for both casino enthusiasts and sports bettors, 1win online provides a wide range of options to cater to every preference. Whether you’re looking to place a 1win bet on your favorite sports team or explore the thrilling world of online casino games, this platform has it all.

For those who prefer gaming on the go, the 1win app is a game-changer. With the 1win apk available for download, users can enjoy all the features of the platform directly from their mobile devices. The 1win app download process is quick and easy, ensuring that you can start playing or betting in no time. The app is designed to provide a smooth and user-friendly experience, making it a top choice for Indian players.

From live casino games to virtual sports, 1win offers an extensive selection of options to keep you entertained. The platform also ensures secure transactions and fair play, making it a trusted choice for online gaming in India. Whether you’re a seasoned bettor or a casual gamer, 1 win is your gateway to an exciting and rewarding experience.

Exploring 1win’s Gaming Platform in India

1win has become a popular choice for Indian players seeking a seamless gaming experience. With its diverse offerings, including casino games and sports betting, 1win bet provides an exciting platform for both beginners and seasoned gamers. The platform is designed to cater to the preferences of Indian users, offering a wide range of sports and casino games tailored to local tastes.

To get started, users can easily access the platform through the 1win app or website. The 1win login process is straightforward, ensuring quick access to all features. For those who prefer mobile gaming, the 1win app download is available for Android and iOS devices. Additionally, the 1win apk can be downloaded directly for Android users, providing a smooth and hassle-free installation process.

1win’s gaming platform is not only user-friendly but also packed with features like live betting, real-time updates, and secure payment options. Whether you’re downloading the 1win app or accessing the platform via a browser, 1 win ensures a high-quality gaming experience for Indian players.

Diverse Betting Options for Indian Players

1win offers a wide range of betting options tailored for Indian players, ensuring an exciting and seamless experience. Whether you prefer sports betting or casino games, 1win bet provides numerous opportunities to explore. From cricket and kabaddi to football and tennis, 1win online covers all major sports, catering to the preferences of Indian enthusiasts.

For those who enjoy casino games, 1win download opens the door to a variety of options, including slots, poker, roulette, and live dealer games. The platform is designed to meet the needs of both beginners and experienced players, offering competitive odds and high-quality gameplay.

Accessing these features is easy with the 1win app, available for download on both Android and iOS devices. The 1win app download process is quick, allowing users to enjoy their favorite games and bets on the go. Simply complete the 1win login to start exploring the diverse options available.

With 1 win, Indian players can experience a secure and user-friendly platform, ensuring a top-notch betting experience. Whether you choose to play online or via the app, 1win provides endless entertainment and opportunities to win big.

How to Get Started with 1win

1win is a popular platform for online casino games and sports betting in India. To begin your journey, follow these simple steps:

  • Visit the 1win Website: Open your browser and go to the official 1win online platform.
  • Create an Account: Click on the “Register” button and fill in the required details to complete your 1win login credentials.
  • Download the 1win App: For a seamless experience, use the 1win app download option available for Android and iOS. Alternatively, install the 1win apk on your Android device.
  • Log In: Use your 1win login details to access your account on the website or the 1win app.
  • Make a Deposit: Fund your account using one of the secure payment methods available on 1win.
  • Start Playing or Betting: Explore the wide range of casino games or place your first 1win bet on your favorite sports events.
  • With the 1win app or website, you can enjoy a smooth and exciting gaming experience anytime, anywhere!

    Registration and Account Setup Guide

    To start your journey with 1win, the first step is to create an account. Visit the official 1win online platform and click on the “Registration” button. You can sign up using your email, phone number, or social media accounts for a quick and easy process.

    Once registered, complete your profile by providing the necessary details. This ensures a seamless experience when using the 1win app or website. After setting up your account, you can proceed to the 1win login page to access your profile and explore the platform.

    For mobile users, the 1win download option is available. Simply visit the website and follow the instructions to get the 1win apk. The 1win app download process is straightforward, allowing you to enjoy gaming and betting on the go.

    After logging in, you can deposit funds into your account and start exploring the wide range of casino games and sports betting options available on 1win. Whether you prefer the desktop version or the 1win app, the platform offers a user-friendly interface for all your gaming needs.

    Popular Casino Games on 1win

    1win offers a wide variety of casino games that cater to every player’s preferences. Whether you prefer classic table games or modern slots, 1win has something for everyone. Below is a list of popular games available on the platform:

    Game Category
    Popular Titles

    Slots Book of Ra, Starburst, Gonzo’s Quest Table Games Roulette, Blackjack, Baccarat Live Casino Live Roulette, Live Poker, Live Blackjack Jackpot Games Mega Moolah, Divine Fortune, Hall of Gods

    To enjoy these games, you can access 1win through the official website or by using the 1win app. Simply complete the 1win login process, and you’re ready to explore the exciting world of online casino gaming. For mobile users, the 1win apk or 1win app download is available, ensuring seamless gameplay on the go. Don’t forget to check out the 1win bet section for sports enthusiasts looking to combine their casino experience with sports betting.

    Top Slots and Live Dealer Experiences at 1win

    Discover the ultimate gaming experience with 1win, offering a wide range of top slots and live dealer games. Whether you’re using the 1win app or accessing the platform via 1win apk, you’ll find an impressive selection of games designed for both entertainment and big wins.

    For slot enthusiasts, 1win features popular titles with stunning graphics and exciting bonus features. Download the 1win app download to enjoy seamless gameplay on the go, or log in via 1win login to explore the full library of games.

    If you prefer a more immersive experience, try the live dealer games at 1win bet. Interact with professional dealers in real-time and enjoy classics like blackjack, roulette, and baccarat. The 1win download ensures smooth access to these thrilling live sessions, making every bet feel like you’re in a real casino.

    With 1 win, you can elevate your gaming journey, whether you’re spinning reels or placing bets at live tables. Don’t miss out – download the 1win apk today and dive into the action!

    Sports Betting Features for Indian Users

    1win offers a comprehensive sports betting experience tailored for Indian users. With the 1win app download, you can access a wide range of sports and betting markets right from your mobile device. Here are some standout features:

    • Diverse Sports Options: From cricket and football to kabaddi and tennis, 1win covers popular sports in India and beyond.
    • Live Betting: Place bets in real-time with live updates and dynamic odds.
    • Competitive Odds: Enjoy some of the best odds in the market for maximum returns.
    • User-Friendly Interface: The 1win app and website are designed for seamless navigation.

    To get started, follow these steps:

  • Complete the 1win download by visiting the official website or app store.
  • Install the 1win apk on your Android device or use the iOS app.
  • Log in using your 1win login credentials or create a new account.
  • Explore the sportsbook and start placing bets with 1win bet.
  • With the 1 win platform, Indian users can enjoy a secure and exciting sports betting experience anytime, anywhere.

    Cricket, Football, and More

    1win online offers a thrilling experience for sports enthusiasts in India, especially for fans of cricket and football. With the 1win app, users can easily access live matches, place bets, and enjoy real-time updates. Whether you’re a cricket fanatic or a football lover, 1win provides a seamless platform to engage with your favorite sports.

    To get started, simply complete the 1win login process on the 1win app or website. The 1win apk ensures smooth navigation and quick access to a wide range of sports events. From IPL matches to international football tournaments, 1 win has it all covered. Download the 1win app today and never miss a moment of the action!

    For those who prefer mobile convenience, the 1win download option is available for both Android and iOS devices. The 1win app download process is straightforward, allowing users to enjoy betting and live streaming on the go. Explore the exciting world of sports with 1win and elevate your gaming experience!

    Bonuses and Promotions at 1win

    1win online offers a variety of exciting bonuses and promotions tailored for both casino enthusiasts and sports betting fans. New users can enjoy a generous welcome bonus upon their first deposit, giving them a head start in exploring the platform’s extensive features.

    For those who prefer mobile gaming, the 1win app download ensures seamless access to all promotions. Whether you use the 1win apk or the 1win app, you won’t miss out on exclusive offers designed to enhance your experience.

    Regular players can benefit from reload bonuses, cashback offers, and free bets through 1win bet. Additionally, the platform frequently updates its promotions, so keep an eye on your 1win login for the latest deals.

    From sportsbook enthusiasts to casino lovers, 1 win ensures that every user feels rewarded. Don’t forget to check the terms and conditions to make the most of these exciting opportunities!

    Design and Develop by Ovatheme